      1  /**

      2     A cash register totals up sales and computes change due.

      3  */

      4  public class CashRegister

      5  {

      6     private double purchase;

      7     private double payment;

      8

      9     /**

     10        Constructs a cash register with no money in it.

     11     */

     12     public CashRegister()

     13     {

     14        purchase = 0;

     15        payment = 0;

     16     }

     17

     18     /**

     19        Records the sale of an item.

     20        @param amount the price of the item

     21     */

     22     public void recordPurchase(double amount)

     23     {

     24        purchase = purchase + amount;

     25     }

     26

     27     /**

     28        Processes a payment received from the customer.

     29        @param amount the amount of the payment

     30     */

     31     public void receivePayment(double amount)

     32     {

     33        payment = payment + amount;

     34     }

     35

     36     /**

     37        Computes the change due and resets the machine for the next customer.

     38        @return the change due to the customer

     39     */

     40     public double giveChange()

     41     {

     42        double change = payment - purchase;

     43        purchase = 0;

     44        payment = 0;

     45        return change;

     46     }

     47  }